home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / diskmags / amiga_9301b.lha / Suchalgorithmen / Listing 3 < prev    next >
Encoding:
Text File  |  1992-12-15  |  417 b   |  21 lines

  1. /* Der Suchalgorithmus nach Knuth-Morris-Pratt
  2.  * eignet sich hervorragend für die Suche in externen
  3.  * Dateien
  4.  */
  5.  
  6. extern long NextArray[];
  7.  
  8. long KMP_Search(char *Puffer,char *Pattern, long size)
  9. {
  10.   long i,j,M=strlen(Pattern),N=size;
  11.  
  12.   for( i=0,j=0; j<M && i<N; i++, j++ )
  13.     while( (j>=0) && (Puffer[i] != Pattern[j]) && i<N )
  14.       j=NextArray[j];
  15.   if( j==M ) {
  16.     return i-M;
  17.   } else {
  18.     return i;
  19.   }
  20. }
  21.